org.eclipse.vtp.framework.engine.osgi
Class ProcessEngineManager

java.lang.Object
  extended by org.osgi.util.tracker.ServiceTracker
      extended by org.eclipse.vtp.framework.util.SingletonTracker
          extended by org.eclipse.vtp.framework.engine.osgi.ProcessEngineManager
All Implemented Interfaces:
SingletonTrackerCustomizer, org.osgi.util.tracker.ServiceTrackerCustomizer

public final class ProcessEngineManager
extends SingletonTracker

Maintains a registered instance of IProcessEngine and an instance of HttpConnectorManager linked to the most desireable instance of IExtensionRegistry.

Author:
Lonnie Pryor

Field Summary
 
Fields inherited from class org.osgi.util.tracker.ServiceTracker
context, filter
 
Constructor Summary
ProcessEngineManager(org.osgi.framework.BundleContext context, org.osgi.service.log.LogService log, IReporter reporter)
          Creates a new ExtensionRegistryTracker.
 
Method Summary
 java.lang.Object changingSelectedService(org.osgi.framework.ServiceReference oldReference, java.lang.Object oldService, org.osgi.framework.ServiceReference newReference)
          Called when another service besides the currently selected singleton is selected as the new singleton.
 void releasedSelectedService(org.osgi.framework.ServiceReference reference, java.lang.Object service)
          Called when the selected service must be released and no replacement is available.
 java.lang.Object selectingService(org.osgi.framework.ServiceReference reference)
          Called when a service is selected as the singleton.
 
Methods inherited from class org.eclipse.vtp.framework.util.SingletonTracker
addingService, getService, getService, getServiceReference, getServiceReferences, getServices, modifiedService, removedService, selectedServiceModified, size, throwableCaught, waitForService
 
Methods inherited from class org.osgi.util.tracker.ServiceTracker
close, getTrackingCount, open, open, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcessEngineManager

public ProcessEngineManager(org.osgi.framework.BundleContext context,
                            org.osgi.service.log.LogService log,
                            IReporter reporter)
Creates a new ExtensionRegistryTracker.

Parameters:
context - The context to operate under.
log - The log to use.
Method Detail

selectingService

public java.lang.Object selectingService(org.osgi.framework.ServiceReference reference)
Description copied from interface: SingletonTrackerCustomizer
Called when a service is selected as the singleton.

Specified by:
selectingService in interface SingletonTrackerCustomizer
Overrides:
selectingService in class SingletonTracker
Parameters:
reference - The selected singleton service reference.
Returns:
The singleton service object or null if the specified reference should not be selected.

changingSelectedService

public java.lang.Object changingSelectedService(org.osgi.framework.ServiceReference oldReference,
                                                java.lang.Object oldService,
                                                org.osgi.framework.ServiceReference newReference)
Description copied from interface: SingletonTrackerCustomizer
Called when another service besides the currently selected singleton is selected as the new singleton. Implementations must release the old singleton if the new singleton is accepted.

Specified by:
changingSelectedService in interface SingletonTrackerCustomizer
Overrides:
changingSelectedService in class SingletonTracker
Parameters:
oldReference - The currently selected singleton service reference.
oldService - The currently selected singleton service object.
newReference - The newly selected singleton service reference.
Returns:
The new singleton service object or null if the new reference should not be selected and the old reference should be maintained.

releasedSelectedService

public void releasedSelectedService(org.osgi.framework.ServiceReference reference,
                                    java.lang.Object service)
Description copied from interface: SingletonTrackerCustomizer
Called when the selected service must be released and no replacement is available.

Specified by:
releasedSelectedService in interface SingletonTrackerCustomizer
Overrides:
releasedSelectedService in class SingletonTracker
Parameters:
reference - The currently selected singleton service reference.
service - The currently selected singleton service object.